<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/bitops/find.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/bitops/find.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0FTTV9HRU5FUklDX0JJVE9QU19GSU5EX0hfXzA_"><span class="b">_ASM_GENERIC_BITOPS_FIND_H_</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0FTTV9HRU5FUklDX0JJVE9QU19GSU5EX0hfXzA_"><span class="b">_ASM_GENERIC_BITOPS_FIND_H_</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">find_next_bit</span>
<a name="5" /><span class="True">       5:</span> <span class="k">/**</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * find_next_bit - find the next set bit in a memory region</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * @addr: The address to base the search on</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * @offset: The bitnumber to start searching at</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * @size: The bitmap size in bits</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> *</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * Returns the bit number for the next set bit</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * If no bits are set, returns @size.</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> */</span>
<a name="14" /><span class="True">      14:</span> <span class="m">extern</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">find_next_bit</span><span class="f">(</span><span class="m">const</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">addr</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span>
<a name="15" /><span class="True">      15:</span>         <span class="b">size</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">offset</span><span class="f">)</span><span class="f">;</span>
<a name="16" /><span class="True">      16:</span> <span class="f">#</span><span class="n">endif</span>
<a name="17" /><span class="True">      17:</span> 
<a name="18" /><span class="True">      18:</span> <span class="f">#</span><span class="n">ifndef</span> <span class="b">find_next_zero_bit</span>
<a name="19" /><span class="True">      19:</span> <span class="k">/**</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * find_next_zero_bit - find the next cleared bit in a memory region</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * @addr: The address to base the search on</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * @offset: The bitnumber to start searching at</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> * @size: The bitmap size in bits</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> *</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * Returns the bit number of the next zero bit</span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * If no bits are zero, returns @size.</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> */</span>
<a name="28" /><span class="True">      28:</span> <span class="m">extern</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">find_next_zero_bit</span><span class="f">(</span><span class="m">const</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">addr</span><span class="f">,</span> <span class="m">unsigned</span>
<a name="29" /><span class="True">      29:</span>         <span class="m">long</span> <span class="b">size</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">offset</span><span class="f">)</span><span class="f">;</span>
<a name="30" /><span class="True">      30:</span> <span class="f">#</span><span class="n">endif</span>
<a name="31" /><span class="True">      31:</span> 
<a name="32" /><span class="True">      32:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVRfMA__"><span class="b">CONFIG_GENERIC_FIND_FIRST_BIT</span></a>
<a name="33" /><span class="True">      33:</span> 
<a name="34" /><span class="True">      34:</span> <span class="k">/**</span>
<a name="35" /><span class="True">      35:</span> <span class="k"> * find_first_bit - find the first set bit in a memory region</span>
<a name="36" /><span class="True">      36:</span> <span class="k"> * @addr: The address to start the search at</span>
<a name="37" /><span class="True">      37:</span> <span class="k"> * @size: The maximum number of bits to search</span>
<a name="38" /><span class="True">      38:</span> <span class="k"> *</span>
<a name="39" /><span class="True">      39:</span> <span class="k"> * Returns the bit number of the first set bit.</span>
<a name="40" /><span class="True">      40:</span> <span class="k"> * If no bits are set, returns @size.</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> */</span>
<a name="42" /><span class="True">      42:</span> <span class="m">extern</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">find_first_bit</span><span class="f">(</span><span class="m">const</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">addr</span><span class="f">,</span>
<a name="43" /><span class="True">      43:</span>                     <span class="m">unsigned</span> <span class="m">long</span> <span class="b">size</span><span class="f">)</span><span class="f">;</span>
<a name="44" /><span class="True">      44:</span> 
<a name="45" /><span class="True">      45:</span> <span class="k">/**</span>
<a name="46" /><span class="True">      46:</span> <span class="k"> * find_first_zero_bit - find the first cleared bit in a memory region</span>
<a name="47" /><span class="True">      47:</span> <span class="k"> * @addr: The address to start the search at</span>
<a name="48" /><span class="True">      48:</span> <span class="k"> * @size: The maximum number of bits to search</span>
<a name="49" /><span class="True">      49:</span> <span class="k"> *</span>
<a name="50" /><span class="True">      50:</span> <span class="k"> * Returns the bit number of the first cleared bit.</span>
<a name="51" /><span class="True">      51:</span> <span class="k"> * If no bits are zero, returns @size.</span>
<a name="52" /><span class="True">      52:</span> <span class="k"> */</span>
<a name="53" /><span class="True">      53:</span> <span class="m">extern</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="b">find_first_zero_bit</span><span class="f">(</span><span class="m">const</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="f">*</span><span class="b">addr</span><span class="f">,</span>
<a name="54" /><span class="True">      54:</span>                      <span class="m">unsigned</span> <span class="m">long</span> <span class="b">size</span><span class="f">)</span><span class="f">;</span>
<a name="55" /><span class="False">      55:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* CONFIG_GENERIC_FIND_FIRST_BIT */</span>
<a name="56" /><span class="False">      56:</span> 
<a name="57" /><span class="False">      57:</span> <span class="f">#</span><span class="n">define</span> <span class="b">find_first_bit</span><span class="f">(</span><span class="b">addr</span><span class="f">,</span> <span class="b">size</span><span class="f">)</span> <span class="b">find_next_bit</span><span class="f">(</span><span class="f">(</span><span class="b">addr</span><span class="f">)</span><span class="f">,</span> <span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span>
<a name="58" /><span class="False">      58:</span> <span class="f">#</span><span class="n">define</span> <span class="b">find_first_zero_bit</span><span class="f">(</span><span class="b">addr</span><span class="f">,</span> <span class="b">size</span><span class="f">)</span> <span class="b">find_next_zero_bit</span><span class="f">(</span><span class="f">(</span><span class="b">addr</span><span class="f">)</span><span class="f">,</span> <span class="f">(</span><span class="b">size</span><span class="f">)</span><span class="f">,</span> <span class="c">0</span><span class="f">)</span>
<a name="59" /><span class="False">      59:</span> 
<a name="60" /><span class="True">      60:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_GENERIC_FIND_FIRST_BIT */</span>
<a name="61" /><span class="True">      61:</span> 
<a name="62" /><span class="True">      62:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/*_ASM_GENERIC_BITOPS_FIND_H_ */</span>
<a name="63" /><span class="True">      63:</span> </pre>
  </body>
</html>
